跳到主要内容

inpainting 局部修改

inpainting 模型是什么?

Inpainting(修复术)是一种计算机视觉技术,用于通过填充缺失或损坏的图像部分来恢复图像的完整性。这些缺失通常是由于图像噪点、划痕、物体遮挡、损坏或其他因素引起的。

图像修复的目标是根据图像的上下文和周围的信息来预测缺失区域的内容。这可以通过使用图像中已知的像素值和结构来实现。修复算法通常利用图像中的纹理、颜色和边缘等特征,以及缺失区域周围的像素值,来推测缺失区域的合理内容。

在计算机图形学和计算机视觉领域,有许多不同的图像修复算法和技术可供选择。一些常用的方法包括基于插值的方法(如双线性插值和最近邻插值)、基于统计的方法(如均值滤波和中值滤波)、基于纹理合成的方法、以及基于机器学习的方法(如生成对抗网络)等。

图像修复广泛应用于数字图像处理、摄影修复、文档恢复、艺术修复以及视频修复等领域,以提高图像质量和美观性,并还原受损或缺失的图像信息。

添加 inpainting 模型

inpainting 是一个很好玩也很有用的功能。它可以让我们在不影响图像其他区域的情况下,对自己所选的区域进行修改。

可以将下载的 Stable Diffusion 模型放在目录 stable-diffusion-webui/models/Stable-diffusion/ 下。

例如,假设我们要做 inpaint 的调整。先在 huggingface 下载 stable-diffusion-inpainting 的 checkpoint:

并存放在 stable-diffusion-webui/models/Stable-diffusion/ 下。

而后我们在 web UI 刷新 checkpoint 目录即可:

使用时,在 img2img 的 Inpaint 部分上传图片,并使用鼠标进行遮盖。然后输入 prompt 词,即可替换遮盖内容。

inpainting 参数解释

在做 inpainting 时,相关参数解释为:

Denoising strength:控制最终图片与初始图片的变化程度。设置为 0 则表示不修改任何东西,设置为 1 表示大幅修改

CFG scale:与文生图中的 CFG 类似,表示生成的图片要 follow prompt 的程度

  • 1:基本忽略 prompt
  • 3:带些创造性
  • 7:创造性与 prompt 之间的一个较好的平衡
  • 15:紧跟 prompt 提示走
  • 30:完全 follow prompt

Masked content:控制覆盖的区域如何初始化

  • Fill:使用原图的高模糊图作为初始化
  • Original:无修改
  • Latent noise:先使用 fill 的模式对 masked 区域做初始化,然后再加入随机噪点到 latent 空间
  • Latent nothing:与 latent noise 类似,但是不加入随机噪点

下图是 sampling 之前的 Masked content,便于大家理解: